import { post } from '@/utils/uniRequest'; // 使用UniApp兼容的请求工具

/**
 * 启动SMT外段取流程
 * 根据订单号、分支号、实装机ID、实装面信息，获取生产订单详情和BOM列表
 * @param {object} request - 请求参数
 *   - orderNo: 订单号
 *   - orderBranchNo: 分支号
 *   - mounterId: 实装机ID
 *   - smtSide: 实装面
 * @returns {Promise} 返回包含 RespBean (data为SmtStartResponse) 的 Promise
 */
export function initiatePickup(request) {
  return post('/smt/initiatePickup', request);
}

/**
 * 保存扫描记录
 * 保存成功和失败的扫描记录到对应的数据表中
 * @param {object} request - 扫描记录请求
 * @returns {Promise} 返回包含 RespBean (data为ScanRecordSaveResponse) 的 Promise
 */
export function saveScanRecord(request) {
  return post('/smt/saveScanRecord', request);
}

/**
 * 保存作业员确认记录 (保存到 T_SMT_PROCESS 表)
 * @param {object} orderInfo - 订单信息
 *   注意：后端使用固定的SMT_PROCESS值：
 *   - T_SMT_PROCESS表: SMT_PROCESS = "91"
 *   后端使用数据库当前时间，忽略前端传入的createTimestamp字段
 * @returns {Promise} 返回包含 RespBean (data为ScanRecordSaveResponse) 的 Promise
 */
export function saveOperatorConfirm(orderInfo) {
  return post('/smt/saveOperatorConfirm', orderInfo);
}

export default {
  initiatePickup,
  saveScanRecord,
  saveOperatorConfirm
};